Electronic television program guide for a television system having two tuners

ABSTRACT

A method and device for receiving and storing an electronic television (TV) program guide. In a satellite, cable or broadcast TV system, electronic TV program guides may be coded into the video signals received by the TV receiver. Many currently available TV receivers also allow users to program a list of &#34;select-channels.&#34; When the receiver is in its select-channel mode, the receiver only tunes to the channels the user stored in the list of select channels. The present invention limits the memory and processing power required to store an electronic TV program guide by only storing program guide information associated with the channels stored by the user in connection with the select-channels function of the receiver. In receivers having a second tuner, the second tuner may be used to automatically update the stored program guide.

BACKGROUND OF THE INVENTION

This invention relates in general to electronic program guides fortelevision (TV) receivers. More particularly, the present inventionrelates to a specially designed electronic TV program guide havingimproved flexibility, versatility, and cost savings over knownelectronic TV program guides.

A typical electronic TV program guide is a database of programminginformation encoded into the video signals broadcast over a satellite,cable or broadcast TV system. The database is decoded from the receivedvideo signals, then stored in the satellite receiver, cable TV decoder,the TV receiver itself, or other similar such unit. The electronicprogram guide information may be viewed and/or searched by displayingthe guide on the TV screen upon demand. In comparison with printed TVprogram guides, electronic guides offer larger capacity, electronicsearching, last-minute updates, and other features that are notpractical with printed paper guides.

However, because of the large number of stations available on satelliteand cable TV systems, the memory and processing requirements forelectronically storing and searching through the potentially enormousamounts of program information available for satellite and cableservices can prohibit a cost-effective and simple implementation of anelectronic TV program guide. Others have attempted to reduce the memoryand processing burdens associated with electronic TV program guides. Forexample, U.S. Pat. No. 5,038,211 issued to Hallenbeck discloses anonline TV program information system that stores from a broadcastdatastream only program information that meets selection criteriadetermined by the user. However, the Hallenbeck system calls for theuser to program several potentially long and involved selectioncriteria. As illustrated in FIG. 1 of the Hallenbeck patent, theselection criteria 17 may include a service list 17a, types ofprogramming list 17b, times of listings 17c, and other criteria 17d.

Thus, there is still a need for a TV receiver that stores an electronicTV program guide according to selection criteria determined by the user,wherein the selection criteria and method of storing and updating theprogram information provide improved flexibility, versatility, and costsavings over known methods of receiving and storing electronic TVprogram guides.

SUMMARY OF THE INVENTION

The present invention provides a method and device for receiving andstoring an electronic television (TV) program guide. In a satellite,cable or broadcast TV system, electronic TV program guides may be codedinto the video signals received by the TV receiver. Many currentlyavailable TV receivers also allow users to program a list of"select-channels." When the receiver is in its "select-channel mode,"the receiver only tunes to the channels the user stored in the list ofselect channels. The present invention limits the memory and processingpower required to store an electronic TV program guide by only storingprogram guide information associated with the channels stored by theuser in connection with the select-channel function of the receiver. Bylimiting the amount of channels that can be programmed into theselect-channels list, the maximum memory that will be needed to storethe TV program guide can be determined ahead of time. In receivershaving a second tuner, the second tuner may be used to automaticallyupdate the stored program guide.

In one embodiment, the present invention includes a television receiverhaving: a tuning system capable of tuning to predetermined frequencychannels and converting radio frequencies received on the predeterminedfrequency channels to video signals; a decoder receiving the videosignals from the tuning system and decoding a database coded into thevideo signals; a microprocessor controlling the tuning system and thedecoder; a first memory controlled by the microprocessor and storing aprogrammed subset of the predetermined frequency channels; a secondmemory controlled by the microprocessor and storing the decodeddatabase; the microprocessor programmed to control the decoder such thatthe microprocessor stores in the second memory only database informationassociated with the programmed subset of the predetermined frequencychannels stored in the first memory; and a display device coupled to acharacter generator and the microprocessor for displaying the databaseinformation on a screen of the display device.

In the above-described embodiment, the microprocessor makes the databaseinformation available for display on the screen according to thefollowing protocol. If the tuning system is tuned to one of thepredetermined frequency channels that is not among the programmed subsetof the predetermined frequency channels, the database informationassociated with the one of the predetermined frequency channels iscaptured and made available for display on the screen but not stored inthe second memory. If the tuning system is tuned to one of theprogrammed subset of the predetermined frequency channels, themicroprocessor determines whether the database information associatedwith the one of the programmed subset channels and stored in the secondmemory is current. If the database information associated with the oneof the programmed subset channels and stored in the second memory iscurrent, the database information associated with the one of theprogramed subset channels and stored in the second memory is read fromthe second memory and made available for display on the screen. If thedatabase information associated with the one of the programmed subsetchannels and stored in the second memory is not current, the databaseinformation associated with the one of the programmed subset channels iscaptured and stored to the second memory, and the database informationassociated with the one of the programmed subset channels and stored inthe second memory is read from the second memory and made available fordisplay on the screen.

In a further embodiment, the tuning system comprises a first and secondtuner, and the microprocessor automatically updates the databaseinformation in the second memory according to the following protocol.Tune the second tuner to one of the programmed subset of thepredetermined frequency channels, capture the database informationassociated with the one of the programmed subset channels, and store thecaptured database information to the second memory.

In a method of the present invention, there is provided a method ofstoring database information in a television receiver, the stepscomprising: storing in a first memory a subset of the availablepredetermined frequency channels that a tuning system of the receivermay tune to; providing the receiver with a select-channel mode whereinthe tuning system only tunes to the programmed subset of thepredetermined frequency channels stored in the first memory; decodingdatabase information from video signals received by the tuning system onthe predetermined frequency channels; and storing in a second memoryonly information from the database associated with the programmed subsetof the predetermined frequency channels stored in the first memory.

Preferably, in the above-described method, the database information ismade available for display on a screen of a display device according tothe following protocol. If the tuning system is tuned to one of thepredetermined frequency channels that is not among the programmed subsetof the predetermined frequency channels, the database informationassociated with the one of the predetermined frequency channels iscaptured and made available for display on the screen but not stored inthe second memory. If the tuning system is tuned to one of theprogrammed subset of the predetermined frequency channels, themicroprocessor determines whether the database information associatedwith the one of the programmed subset channels and stored in the secondmemory is current. If the database information associated with the oneof the programmed subset channels and stored in the second memory iscurrent, the database information associated with the one of theprogrammed subset channels and stored in the second memory is read fromthe second memory and made available for display on the screen. If thedatabase information associated with the one of the programmed subsetchannels and stored in the second memory is not current, the databaseinformation associated with the one of the programmed subset channels iscaptured and stored to the second memory, and the database informationassociated with the one of the programmed subset channels and stored inthe second memory is read from the second memory and made available fordisplay on the screen.

In another aspect of the above-described method, the tuning systemcomprises a first and second tuner, and the database information in thesecond memory is automatically updated according to the followingprotocol. Tune the second tuner to one of the programmed subset of thepredetermined frequency channels, capture the database informationassociated with the one of the programmed subset channels, and store thecaptured database information to the second memory.

The invention itself, together with further objects and attendantadvantages, will best be understood by reference to the followingdetailed description, taken in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an electronic TV program guide controllerembodying the present invention.

FIG. 2 illustrates an example of an on-screen display that would appearon the display device of FIG. 1 when the user is programming channelsinto the select-channel list.

FIG. 3 is a flow diagram of a program for storing an electronic TVprogram guide using the controller shown in FIG. 1. The program shown inFIG. 3 may be implemented on a single tuner system.

FIG. 4 is another flow diagram of a program for storing an electronic TVprogram guide using the controller shown in FIG. 1. The program shown inFIG. 4 may be implemented on a multi-tuner system.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an electronic TV program guide controller10 embodying the present invention. As shown, the controller 10generally includes a tuning system 12 coupled to a microprocessor 14 anda decoder 16. The microprocessor 14 includes memory space 18 for storingdecoded data. The microprocessor 14 further includes an internal VRAMmemory (not shown) and character generator (also not shown) forsupplying on-screen displays to a display device 20. Preferably, thedisplay device 20 is a cathode ray tube (CRT), but it may also be anyother type of known display device such as a liquid crystal display(LCD).

In general, the tuning system 12 is a conventional tuning system of thetype available in standard TV receivers. The tuning system 12 may beprovided with two separate tuners (not shown), wherein the second tunerprovides picture-in-picture (PIP) functions in a known manner. Thetuning system 12 converts RF signals to video and audio by tuning toselected frequencies (also know as channels or stations).

Typically, the electronic TV program guide information is encodedaccording to a predetermined format, then broadcast in some portion ofthe video/audio broadcast. In one approach, the program data is encodedin the vertical blanking interval (VBI) of one or more stations. Thus,the decoder 16 may be a VBI decoder that decodes TV program data fromthe VBI of one or more channels. Preferably, a control line 24 from themicroprocessor 14 informs the decoder 16 of the data's format and thechannel or channels on which data can be found.

The actual program information contained in a particular electronic TVprogram guide varies depending on the entity providing the database. Forexample, the database provider may include in the database programtitle, start time, duration, network, local affiliate, synopsis, programtype (i.e., situation comedy, talk, movie, etc.), motion picture rating,trait bits (i.e., adult language, nudity, violence, etc.), channelnumber, current time (grenitch time), current date, stereo indication,separate audio program (SAP) indication, closed caption (CC) indication,commercials, coupon number (used for special purchase discounts).

The microprocessor 14 may be a standard commercially availableintegrated circuit, for example, one of the MC6800-family ofmicroprocessors manufactured by Motorola, which is found in manycurrently manufactured TV receivers. The microprocessor 14 actsaccording to stored programs, either in internal memory (not shown) orexternal memory 18, to control most of the TV receiver's functions. Thememory 18 may be standard dynamic random access memory (RAM) havingparallel or serial access. According to the present invention, the.microprocessor 14 also generates data for the on-screen program datadisplay, and executes all decisions regarding program data capture,storage and display.

According to the present invention, one of the functions controlled bythe microprocessor is a "select-channel" feature. An example of such aselect-channel feature is sold under the tradename "Favorite Station,"and is available on models CT31SF21S, CT-31SF31S and PT-51G30televisions sold by Matsushita Electric Corporation Of America, theassignee of the present invention. The typical select-channel featureallows the user, through a remote control unit (not shown), themicroprocessor 14 (including its VRAM memory and character generator),tuning system 12, and display-device/CRT 20, to program a set of selectchannels (up to a fixed number, for example 15), whereby themicroprocessor 14 controls the tuning system 12 to skip overnon-programmed channels in response to a channel-change request, andonly stop on the select channels. Thus, when the TV receiver is in itsselect-channel mode, channel change requests automatically move throughthe listed and stored channels, thereby saving users considerable timeby not stopping on channels that are never watched.

The microprocessor 14, via its VRAM and character generator, generatesan on-screen display on the display/CRT 20 which makes programming thedesired stations relatively easy. An example of such a display is shownin FIG. 2 in connection with the Matsushita "Favorite Station" feature.The user presses the appropriate buttons to display the channelselection screen shown in FIG. 2, enters a channel number, then pressesleft or right arrow keys on the remote or the settop to add the channelto the select-channel list or delete the channel from the select-channellist. The box at the bottom of the screen shows the complete content ofthe select-channel list. The Matsushita models CT31SF21S, CT-31SF31S andPT-51G30 televisions also provide an "Auto Channel Program" mode inwhich the first fifteen channels selected while the TV receiver is inthis mode are automatically loaded into the select-channel list. Thismakes programming the select-channel list even easier.

A key feature of the present invention is the use of the select-channelfeatures, which are already present in commercially available TVreceivers, to control the storage of electronic TV program guideinformation. The stored TV program guide information is limited to thechannels that the consumer had already stored when setting up theselect-channel feature. This requires considerably less memory andprocessing power than storing all of the available program data for allof the available channels.

FIG. 3 is a flow diagram of a program 30 for automatically updating theelectronic TV program guide according to the select-channel listpreviously programmed and stored in connection with a select-channelfeature. The program 30 may be implemented on the microprocessor 14 ofthe controller 10 shown in FIG. 1 using a single-tuner tuning system 12.The program 30 begins at block 32 by determining whether the currentchannel is one of the select channels. As previously noted, themicroprocessor 14 has a database of user-selected channels (up to 15 forthe Matsushita "Favorite Station" feature). When the microprocessor 14processes a command to access one of these channels, either by directchannel number entry, or by normal channel scan, or by select-channelscan, the microprocessor 14 compares the requested channel with thepreviously programmed and stored select-channel list.

If the current channel is not on the stored select-channel list, theprogram 30 moves to block 34 where the microprocessor 14 captures datafrom the decoder 16 and passes it to the VRAM of a character generator(not shown) preferably located in the microprocessor 14. Thus, forcurrent channels that are not on the select-channel list, the TV programguide data is made available for immediate on-screen display, but is notstored in the database in memory 18. From block 34, the program 30 isreturned to its beginning.

If the current channel examined in block 32 is on the select-channellist, the program 30 moves to block 36 and determines whether the storeddatabase information associated with the subject channel is current. Themicroprocessor 14 determines whether the database information is currentby comparing the stored program start time and duration with the TVreceiver's current real time clock. If the calculated program end timeis earlier than the real time clock, the stored database information isnot current. Also, after having watched a select channel for a period oftime, the incoming database for that select channel will be decoded andcompared with the database stored in memory 18. If some aspect of thedatabase information has changed, the stored database information isupdated, and an indication is automatically provided to the viewer,either by momentarily displaying the new data on the display screen, orby flashing a small icon on the display screen.

If the stored database information associated with the subject channelis current, in block 38, the microprocessor 14 copies the storeddatabase for the subject channel from the memory 18 to the VRAM of thecharacter generator (not shown) in the microprocessor 14. Thiseliminates the inherent delay that results from piecing together (byteby byte) the text as it is received field by field or frame by frame inthe VBI. The stored database for the subject channel is then displayedon the CRT 20.

If the answer to the inquiry in block 36 is no, the program 30 moves toblock 40 and captures TV program guide data from the decoder 16 to storeto the database in memory 18. If in block 36 it is determined that thestored data is not current, the microprocessor 14 clears the old datafrom the memory 18. The microprocessor 14 then starts the process ofaccepting TV program guide data from the decoder 16 and storing it inthe memory 18. Preferably, the program 30 includes one of the many knownmemory management techniques to manage data storage in the memory 18. Inblock 40, the microprocessor 14 copies the stored database for thesubject channel from the memory 18 to the VRAM of the charactergenerator (not shown) in the microprocessor 14. The stored database forthe subject channel is then displayed on the CRT 20.

FIG. 4 is another flow diagram of a program 50 for storing an electronicTV program guide using the controller 10 shown in FIG. 1. The program 50shown in FIG. 4 may be implemented on a multi-tuner tuning system 12,for example, a tuning system having "picture-in-picture" (PIP) featuressupplied by a second tuner. In block 52, the program 50 determineswhether the PIP feature is on. If the answer to this inquiry is yes, theprogram 50 moves to block 54 where the microprocessor 14 checks thetuned channel of the second tuner against the select-channel list storedin memory 18. If the answer to the inquiry in block 54 is yes, theprogram 50 moves to block 56 where the microprocessor 14 captures datafrom the decoder 16 and stores it in the TV program guide database inmemory 18. Again, there is preferably one of the conventional memorymanagement used here to insure no wasted memory space. If the currentchannel is not one of the select channels stored in memory 18, theprogram 50 moves from block 54 to the beginning of the program.

If the answer to the inquiry in block 52 is no, the PIP second tuner ofthe tuning system 12 is used to sequence through the stored list ofselect channels to thereby update the TV program guide information inthe database stored in memory 18. In block 58, the microprocessor 14tunes the PIP tuner to a first channel in the stored select-channellist, or to a first channel in the stored select-channel list that isnot up to date. In block 60, the microprocessor 14 clears the old datafrom the TV program guide database in memory 18. The microprocessor 14then starts the process of accepting TV program guide data from thedecoder 16 and storing it in the database in memory 18.

In block 62, the microprocessor 14 tunes the PIP tuner to the nextchannel in the select-channel list. In block 64, if all of the selectchannels are up to date, the program 50 returns to its beginning. If inblock 64, all of the select channels are not up to date, the program 50returns to block 60 where the microprocessor 14 clears the old data fromthe TV program guide database in memory 18, then starts again theprocess of accepting TV program guide data from the decoder 16 andstoring it in the database in memory 18.

Thus, the present invention provides several advantages. The memory andprocessor requirements of the present invention are reduced by limitingstored TV program data to the channels previously stored by the user inconnection with using the select-channel features found on manycurrently available TV sets. Thus, the two features may be activatedsimultaneously by configuring the select-channel list. Updating is madesignificantly more efficient by using the second (PIP) tuner found inmany currently available TV sets to update the TV program database.

Of course, it should be understood that a wide range of changes andmodifications can be made to the preferred embodiment described above.It is therefore intended that the foregoing detailed description beregarded as illustrative rather than limiting and that it be understoodthat it is the following claims, including all equivalents, which areintended to define the scope of this invention.

What is claimed is:
 1. A television receiver comprising:a tuning systemcapable of tuning to predetermined frequency channels and convertingradio frequencies received on said predetermined frequency channels tovideo signals; a decoder receiving said video signals from said tuningsystem and decoding a database coded in said video signals; amicroprocessor controlling said tuning system and said decoder; a firstmemory controlled by said microprocessor and storing a programmed subsetof said predetermined frequency channels; a second memory controlled bysaid microprocessor and storing said decoded database; saidmicroprocessor programmed to control said decoder such that saidmicroprocessor stores in said second memory only database informationassociated with said programmed subset of said predetermined frequencychannels stored in said first memory; a display device coupled to acharacter generator and said microprocessor for displaying said databaseinformation on a screen of said display device; said microprocessormaking said database information available for display on said screenaccording to the following protocol:if said tuning system is tuned toone of said predetermined frequency channels that is not among saidprogrammed subset of said predetermined frequency channels, the databaseinformation associated with said one of said predetermined frequencychannels is captured and made available for display on said screen butnot stored in said second memory; if said tuning system is tuned to oneof said programmed subset of said predetermined frequency channels saidmicroprocessor determines whether said database information associatedwith said one of said programmed subset channels and stored in saidsecond memory is current; if said database information associated withsaid one of said programmed subset channels and stored in said secondmemory is current, the database information associated with said one ofsaid programmed subset channels and stored in said second memory is readfrom said second memory and made available for display on said screen;if said database information associated with said one of said programmedsubset channels and stored in said second memory is not current, thedatabase information associated with said one of said programmed subsetchannels is captured and stored to said second memory, and the databaseinformation associated with said one of said programmed subset channelsand stored in said second memory is read from said second memory andmade available for display on said screen.
 2. The receiver of claim 1wherein:said radio frequencies comprise television channels; and saiddecoded database information comprises program information associatedwith said television channels.
 3. The receiver of claim 1 wherein saiddatabase information is coded into a vertical blanking interval of saidvideo signals.
 4. The receiver of claim 1 having a selected station modewherein said microprocessor controls said tuning system to only tune tosaid programmed subset of said predetermined frequency channels storedin said first memory.
 5. The receiver of claim 1 wherein said tuningsystem comprises a first and second tuner, and said microprocessorautomatically updates said database information in second memoryaccording to the following protocol:tune said second tuner to one ofsaid programmed subset of said predetermined frequency channels; capturethe database information associated with said one of said programmedsubset channels; and store said captured database information to saidsecond memory.
 6. The receiver of claim 1 wherein said tuning systemcomprises a first and second tuner, and said microprocessorautomatically updates said database information in second memoryaccording to the following protocol:sequentially tune said second tunerto each one of said programmed subset of said predetermined frequencychannels; determine whether the database associated with any of saidprogrammed subset of channels is not current; capture the databaseinformation for those programmed subset channels that are not current;store said captured database information to said second memory.
 7. Thereceiver of claim 1 wherein said tuning system comprises a first andsecond tuner, and said microprocessor automatically updates saiddatabase information in second memory according to the followingprotocol:sequentially tune said second tuner to each one of saidprogrammed subset of said predetermined frequency channels; determinewhether the database associated with each of said programmed subset ofchannels is current; capture the database information for thoseprogrammed subset channels that are not current; store said captureddatabase information to said second memory.
 8. A television receivercomprising:a tuning system capable of tuning to predetermined frequencychannels and converting radio frequencies received on said predeterminedfrequency channels to video signals; a decoder receiving said videosignals from said tuning system and decoding a database coded in saidvideo signals; a microprocessor controlling said tuning system and saiddecoder; a first memory for storing a subset of the availablepredetermined frequency channels; a second memory controlled by saidmicroprocessor and storing said decoded database; said tuning systemcomprising a first and second tuner; and said microprocessorautomatically updating said database information in said second memoryaccording to the following protocol:tune said second tuner to one ofsaid programmed subset channels of said predetermined frequencychannels; capture the database information associated with said one ofsaid programmed subset channels; and store said captured databaseinformation to said second memory.
 9. The receiver of claim 8 whereinsaid database information is coded into a vertical blanking interval ofsaid video signals.
 10. A method of storing database information in atelevision receiver, the steps comprising:storing in a first memory asubset of the available predetermined frequency channels that a tuningsystem of the receiver may tune to; providing the receiver with aselected station mode wherein said tuning system only tunes to saidprogrammed subset of said predetermined frequency channels stored insaid first memory; decoding database information from video signalsreceived by said tuning system on said predetermined frequency channels;storing in a second memory only database information associated withsaid programmed subset of said predetermined frequency channels storedin said first memory.
 11. The method of claim 10 wherein said databaseinformation is made available for display on a screen of a displaydevice according to the following protocol:if said tuning system istuned to one of said predetermined frequency channels that is not amongsaid programmed subset of said predetermined frequency channels, thedatabase information associated with said one of said predeterminedfrequency channels is captured and made available for display on saidscreen but not stored in said second memory; if said tuning system istuned to one of said programmed subset of said predetermined frequencychannels said microprocessor determines whether said databaseinformation associated with said one of said programmed subset channelsand stored in said second memory is current; if said databaseinformation associated with said one af said programmed subset channelsand stored in said second memory is current, the database informationassociated with said one of said programmed subset channels and storedin said second memory is read from said second memory and made availablefor display on said screen; if said database information associated withsaid one of said programmed subset channels and stored in said secondmemory is not current, the database information associated with said oneof said programmed subset channels is captured and stored to said secondmemory, and the database information associated with said one of saidprogrammed subset channels and stored in said second memory is read fromsaid second memory and made available for on said screen.
 12. The methodof claim 11 wherein said database information is coded into a verticalblanking interval of said video signals.
 13. The method of claim 11wherein said tuning system comprises a first and second tuner, and saiddatabase information in said second memory is automatically updatedaccording to the following protocol:tune said second tuner to one ofsaid programmed subset of said predetermined frequency channels; capturethe database information associated with said one of said programmedsubset channels; and store said captured database information to saidsecond memory.
 14. The method of claim 11 wherein said tuning systemcomprises a first and second tuner, and said database information insaid second memory is automatically updated according to the followingprotocol:sequentially tune said second tuner to each one of saidprogrammed subset of said predetermined frequency channels; determinewhether the database associated with any of said programmed subset ofchannels is not current; capture the database information for thoseprogrammed subset channels that are not current; store said captureddatabase information to said second memory.
 15. The method of claim 11wherein said tuning system comprises a first and second tuner, and saiddatabase information in said second memory is automatically updatedaccording to the following protocol:sequentially tune said second tunerto each one of said programmed subset of said predetermined frequencychannels; determine whether the database associated with each of saidprogrammed subset of channels is current; capture the databaseinformation for those programmed subset channels that are not current;store said captured database information to said second memory.